This invention relates to automated robotic software and more particularly to a method and system for using a buffer to track robotic movement.
The use of robots in various manufacturing processes is becoming more common place. These robots typically perform repetitive tasks involving a series of different robotic movements. In current systems robots typically move sequentially through a plurality of states without any consideration of the movement steps made to reach the current state. That is, the next step executed by a robot depends at most on the immediate previous step. However, at certain time a robot may be in a state that can be reached via two or more sequence of steps. The knowledge of which sequence of steps was used to reach the current state can be used to determine future steps to take. Unfortunately, because the movement of robots in current systems depends entirely on the robot""s current state, inefficient operations may take place.
For example, in a wafer handling machine a robot arm may automatically return to a center position after either a load carrier step or an unload carrier step. After a load carrier step the move to a center position is correct because after loading the cassette, individual wafers in the cassette will need to be counted in a map cassette step. However, after an unload cassette step, the next step that should be performed is most likely be a load cassette step. In that case, moving the robot arm to a center position is not needed and delays the loading of additional wafers. However, currently the movement of the robot arm to a center position is done after both the load step and the unload step because the robotic system moves through states without retaining knowledge of how the state was reached.
Thus a need has arisen for a method for using a buffer to track robotic movement.
Thus, a need has arisen for a method for tracking movement in a robotic system that overcomes drawbacks associated with other methods.
In one embodiment, a method for controlling the movement of an automated machine is disclosed. The movement is defined by a plurality of steps. First, a buffer of a predetermined size is defined. The buffer stores a current step and one or more previous steps in the movement of the automated machine. Then a current step in the movement of the automated machine is executed. Next, the buffer is checked to see if the current step executed in the movement of the automated machine movement is the same as a predetermined step of interest. If the current step is a predetermined step of interest, the buffer is checked to determine what at least one previous step was. If the current step was the step of interest, a new step is executed in the movement of the automated machine, the new step executed depending on what the at least one previous step was.
Technical benefits of the present invention include increased efficiency by correctly positioning a robot arm where it is needed for a next step based on one or more previous steps. Other technical benefits are apparent from the following descriptions, illustrations and claims.